// Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov  Date: 2007-9-15 18:53:49

// Decompiler options: packimports(3) fieldsfirst ansi 
// Source File Name:   h0.java

package com.zelix;

import java.util.StringTokenizer;
import java.util.Vector;

// Referenced classes of package com.zelix:
//            f0, i0, k0, j0

class h0
    implements i0, k0
{

    j0 a;
    String b;
    String c;
    boolean d;
    boolean e;
    int f;
    Vector g;
    private static String z[];

    h0(j0 j0_1, String s)
    {
        g = new Vector();
        a = j0_1;
        b = s.trim();
    }

    public int a()
    {
        return f;
    }

    public String g()
    {
label0:
        {
            b();
            String s = null;
            if(!d)
                s = h();
            if(s != null)
                return s;
            if(c.equals(z[0]))
            {
                f = 0x80000000;
                if(j0.q == 0)
                    break label0;
            }
            f = 0x7fffffff;
        }
        return null;
    }

    public void b()
    {
        int i;
        int j;
        j = j0.q;
        e = false;
        i = 0;
        if(j == 0) goto _L2; else goto _L1
_L1:
        f0 f0_1 = (f0)g.elementAt(i);
        f0_1.b();
        i++;
_L2:
        if(i >= g.size())
            return;
        if(true) goto _L1; else goto _L3
_L3:
    }

    public boolean c()
    {
        return false;
    }

    static boolean a(String s)
    {
        if(s.startsWith(z[0]) || s.startsWith(z[3]))
        {
            char c1 = s.charAt(3);
            return c1 == '(' || c1 == ' ';
        } else
        {
            return false;
        }
    }

    public boolean d()
    {
        return false;
    }

    public boolean e()
    {
        return false;
    }

    public boolean f()
    {
        return false;
    }

    public boolean a(boolean flag)
    {
        int i;
        int l;
        l = j0.q;
        if(e)
            return true;
        i = 0;
        if(l == 0) goto _L2; else goto _L1
_L1:
        f0 f0_1 = (f0)g.elementAt(i);
        if(!f0_1.a(flag))
            return false;
        i++;
_L2:
        if(i < g.size()) goto _L1; else goto _L3
_L3:
        int j = 0;
        if(l == 0) goto _L5; else goto _L4
_L4:
        f0 f0_2 = (f0)g.elementAt(j);
        int k = f0_2.a();
        if(c.equals(z[0]))
        {
            f = Math.max(k, f);
            if(l == 0)
                continue;
        }
        f = Math.min(k, f);
        j++;
_L5:
        if(j >= g.size())
        {
            e = true;
            return true;
        }
        if(true) goto _L4; else goto _L6
_L6:
    }

    String h()
    {
        StringTokenizer stringtokenizer1;
        int i;
        i = j0.q;
        d = true;
        StringTokenizer stringtokenizer = new StringTokenizer(b, z[1]);
        c = stringtokenizer.nextToken().trim();
        String s = stringtokenizer.nextToken();
        stringtokenizer1 = new StringTokenizer(s, ",");
        if(i == 0) goto _L2; else goto _L1
_L1:
        String s1 = stringtokenizer1.nextToken();
        f0 f0_1 = new f0(a, s1);
        String s2 = f0_1.i();
        if(s2 != null)
            return s2;
        if(f0_1.c())
            return z[2] + b + "'";
        g.addElement(f0_1);
_L2:
        if(!stringtokenizer1.hasMoreTokens())
            return null;
        if(true) goto _L1; else goto _L3
_L3:
    }

    private static String z(char[] chs) {
        byte key = 0;
        for (int i = 0; i < chs.length; i++) {
            switch (i % 5) {
                case 0:
                    key =0x21;
                    break;
                case 1:
                    key =89;
                    break;
                case 2:
                    key =125;
                    break;
                case 3:
                    key =71;
                    break;
                case 4:
                    key =117;
                    break;
            }
            chs[i] ^= key;
        }
        return new String(chs).intern();
    }

    static 
    {
        String as[];
        as = new String[4];
        as[0] = z("L8\005".toCharArray());
        as[1] = z("\tp".toCharArray());
        as[2] = z("q8\0174\020\001\034\0175\032Sc]\001\000O:\t.\032O*]$\024O7\0223UU8\026\"UB6\0233\024H7\0305UQ+\0227\020S-\024\"\006\0018\016g\032Q<\017&\033E*]`".toCharArray());
        as[3] = z("L0\023".toCharArray());
        z = as;

    }
}